﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using IndoReputation.Models.BusinessObject;
using System.Web.Mvc;

namespace IndoReputation.Views.ViewModels
{
    public class ChartNewsModel
    {
        public UsersExtend CurrentUser { get; set; }
        public IEnumerable<SelectListItem> ListDisplayBy { get; set; }
        public List<NewsCategory> ListNewsCategory { get; set; }

        public List<ChartData> ListChartData { get; set; }        
        public TrendNewsModel trendNewsModel { get; set; }

        public IEnumerable<SelectListItem> ListRegion { get; set; }
        public List<ChartData> ListChartDataRegion { get; set; }
        public TrendNewsModel TrendNewsModelRegion { get; set; }

        public IEnumerable<SelectListItem> ListCountry { get; set; }
        public List<ChartData> ListChartDataCountry { get; set; }
        public TrendNewsModel TrendNewsModelCountry { get; set; }
    }

    public class ChartMediaData
    {
        public string DateString { get; set; }
        public Int64 Totals { get; set; }
    }

    public class ChartData
    {
        public string DateString { get; set; }
        public Int64 Totals { get; set; }
        public int AverageMark { get; set; }
        public int MediaCount { get; set; }
    }

    public class TrendNewsModel
    {
        public TrendCompare trendTodayLastyear { get; set; }
        public TrendCompare trendThisWeekLastyear { get; set; }
        public TrendCompare trendThisMonthLastyear { get; set; }
        public TrendCompare trendThisYearLastyear { get; set; }
        public TrendCompare trendTodayThisyear { get; set; }
        public TrendCompare trendThisWeekThisyear { get; set; }
        public TrendCompare trendThisMonthThisyear { get; set; }
        public TrendCompare trendThisYearThisyear { get; set; }
        public TrendCompareYear trendYear1 { get; set; }
        public TrendCompareYear trendYear2 { get; set; }
        public TrendCompareYear trendYear3 { get; set; }
        public TrendCompareYear trendYear4 { get; set; }
        public TrendCompareYear trendYear5 { get; set; }
    }

    public class TrendCompare
    {
        public Int64 totalCurrent { get; set; }
        public Int64 totalLast { get; set; }
        public int trend { get; set; }
    }     

    public class TrendCompareYear
    {
        public int year { get; set; }
        public Int64 total { get; set; }
        public int trend { get; set; }
    }
}